package com.jiruan.invoicemanagementsystem.service;

import com.jiruan.invoicemanagementsystem.pojo.InvoicingRecord;
import com.jiruan.invoicemanagementsystem.util.PageHelper;
import com.jiruan.invoicemanagementsystem.vo.InvoicingRecordDetail;
import com.jiruan.invoicemanagementsystem.vo.InvoicingRecordShow;

import java.util.ArrayList;

public interface IInvoicingRecord {
    //获取开票记录表中所有开票记录的发票金额总和
    Double getTAofHistoricalInvoice();

    /**
     * @功能: 分页查询
     * @步骤: 1.根据条件得到本次分页查询的数据总条数
     *       2.根据使用数据总条数得到总页数并包装着当前页码的DBHelper与条件查询本次分页的数据集合
     * @param
     *  invoicingRecord: 封装着条件:包括"发票申请日期" ，"处理状态"
//     *                 、"发票抬头"、
     *
     *  min: 发票金额条件的最小值
     *  max: 发票金额条件的最大值
     * */
    int getCountOfInvoicingRecord(InvoicingRecordShow invoicingRecord, Double min, Double max);



    ArrayList< InvoicingRecordShow> getMessageOfInvoicingRecord(PageHelper pageHelper,  InvoicingRecordShow invoicingRecord, Double min, Double max);

    //退票操作
    /*
    * 根据"上链地址"找到对应数据
    * 更新对应的开票记录状态(status)为'B' -> 已退票
    * */
    boolean refundTickById(String upLinkAddress);


    //详情显示
    public InvoicingRecordDetail getInvoicingAccordingTo(String upLinkAddress);



}
